//登录页 —— 属于有状态组件（是否显示登录密码）
import 'package:flutter/material.dart';
import 'package:zhihuishequ/constants/ui_constants.dart';
import 'package:zhihuishequ/pages/home.dart';

class LoginPage extends StatefulWidget {
  const LoginPage({super.key});

  @override
  State<LoginPage> createState() => _LoginPageState();
}

class _LoginPageState extends State<LoginPage> {
  @override
  Widget build(BuildContext context) {
    //页面组件与普通组件不同点：根组件一般是Scaffold
    return Scaffold(
      // backgroundColor: Color(0xFFDDFFDD),    //注释此处，以便使用MaterialApp中的全局设置
      //顶部状态栏
      appBar: AppBar(
        title: Text(
          '登录',
          // style: TextStyle(color: UIConstants.COLOR_THEME_WHITE),
        ),
        // backgroundColor: UIConstants.COLOR_THEME_GREEN,  //注释此处，以便使用MaterialApp中的全局设置
      ),
      //页面主体
      body: Center(
        child: Column(
          children: [
            //文本主题采用MaterialApp提供的默认主题中的一个
            Text('登录页', style: Theme.of(context).textTheme.headlineLarge),
            ElevatedButton(
              onPressed: () {
                //使用“普通路由”跳转到首页
                // Navigator.push(context, route)         //下面这两行的功能是一样的
                // Navigator.of(context).push(route)
                //从构建上下文对象找到路由器对象，进行“历史记录入栈”操作，推入一个“材质设计风格”的页面
                // Navigator.of(context).push(
                //   MaterialPageRoute(
                //     builder: (context)=>HomePage(),
                //   ),
                // );

                //使用“命名路由”跳转到首页
                // Navigator.of(context).pushNamed('/home');            //无参跳转
                Navigator.of(context).pushNamed('/home', arguments: {   //带参跳转
                  'uname': 'Scott',
                  'age': 20
                });
              },
              child: Text('登 录(保留跳转)'),
            ),
            ElevatedButton(
              onPressed: () {
                //使用“普通路由”跳转到首页
                // Navigator.push(context, route)         //下面这两行的功能是一样的
                // Navigator.of(context).push(route)
                //从构建上下文对象找到路由器对象，进行“历史记录入栈”操作，推入一个“材质设计风格”的页面
                // Navigator.of(context).pushReplacement(
                //   MaterialPageRoute(
                //     builder: (context)=>HomePage(userName:'Tom'),
                //   ),
                // );

                //使用“命名路由”跳转到首页
                Navigator.of(context).pushReplacementNamed('/home');
              },
              child: Text('登 录(替代跳转)'),
            ),
          ],
        ),
      ),
      //底部导航栏/页签栏
      //右下角的悬浮按钮
      //左侧抽屉
      //右侧抽屉
    );
  }
}
